import request from '@/utils/request';
import {exact} from "prop-types";

// 获取数据用途信息
export async function getDataPurpose(data) {
  return request({
    url: '/system/common/query',
    method: 'POST',
    data,
  });
}

// 获取数据集列表
export async function getDataSetList(data) {
    return request({
        url: '/nlp/datacenter/dataset/list',
        method: 'POST',
        data,
    });
}
// 获取某个数据集
export async function getDataSet(id) {
    return request({
        url: `/nlp/datacenter/dataset?data_set_id=${id}`,
    });
}

// 新增数据集
export async function addDataSet(data) {
    return request({
        url: '/nlp/datacenter/dataset',
        method: 'POST',
        data
    });
}

/**
 * 编辑数据集
 * @param data 目标数据集
 */
export function editDataSet(data) {
    return request({
        url: '/nlp/datacenter/dataset/info',
        method: 'put',
        data,
    });
}
/**
 * 数据集 追加文件
 * @param data 目标数据集
 */
export function pushDataSet(data) {
    return request({
        url: '/nlp/datacenter/dataset',
        method: 'put',
        data,
    });
}
/**
 * 删除数据集
 * @param data_set_id 目标数据集id
 */
export function delDataSet(data_set_id) {
    return request({
        url: '/nlp/datacenter/dataset',
        method: 'delete',
        params: { data_set_id },
    });
}
/**
 * 数据集生成 打包文件
 * @param data_set_id 目标数据集id
 */
export function createFile(data_set_id) {
    return request({
        url: `/nlp/datacenter/dataset/pack/${data_set_id}`,
        method: 'post',
    });
}

/**
 * 获取数据集下的所有文件列表
 * @param data_set_id 目标数据集id
 */
export async function getFiles(data_set_id) {
    return request({
        url: '/nlp/datacenter/dataset/file/list',
        params: { data_set_id },
    });
}

/**
 *删除数据集下面的文件
 * @param data_set_id
 * @returns {AxiosPromise<any>}
 */
export async function delFiles(dataSetId,fileId) {
    return request({
        url: `/nlp/datacenter/${dataSetId}/${fileId}`,
        method: 'DELETE',
    });
}



/**
 * 下载获取数据集下的所有文件
 * @param data_set_id 目标数据集id
 */
export async function downloadFiles(data_set_id) {
    return request({
        url: '/nlp/datacenter/dataset/files',
        params: { data_set_id },
    });
}

/**
 * 获取  实体/关系任务下的 标签
 * @param data_set_id 目标数据集id
 * @param type 任务类型
 */
const uriLabel = ['objectlabel', 'compose/label', 'objectlabel', 'compose/label', 'compose/label', 'compose/label'];
export async function getInfo(data_set_id, type) {
    return request({
        url: `/nlp/datacenter/compose/label`,
        params: { data_set_id },
    });
}


/**
 * 添加  实体/关系任务下的 标签
 * @param data
 * @param type 任务类型
 */
const uri = ['objectlabel', 'relationlabel','objectlabel', 'relationlabel', 'relationlabel','relationlabel'];
export async function addInfo(data, type) {
    return request({
        url: '/nlp/datacenter/' + uri[type - 0],
        method: 'post',
        data,
    });
}

/**
 * 更新  实体/关系任务下的 标签
 * @param data
 * @param type 任务类型
 */
export async function editInfo(data, type) {
    return request({
        url: '/nlp/datacenter/' + uri[type - 0],
        method: 'put',
        data
    });
}

/**
 * 导入配置文件
 * @param data
 * @returns {AxiosPromise<any>}
 */
export async function uploadConfigFile(data) {
  return request({
    url: '/nlp/datacenter/dataset/label/file',
    method: 'post',
    data
  });
}




